{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "88b4a6a4",
   "metadata": {
    "id": "88b4a6a4"
   },
   "source": [
    "# **Trabalho 1 - Memorial de Cálculo e Gráficos**\n",
    "\n",
    "**Disciplina:** PPGEE0017 - Projeto de Circuitos Integrados - PPGEEC/UFBA\n",
    "\n",
    "**Aluno:** André Paiva Conrado Rodrigues (N=2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ed0de1ae",
   "metadata": {
    "id": "ed0de1ae"
   },
   "source": [
    "## 1 - Escopo do trabalho\n",
    "\n",
    "\n",
    "### Características do circuito a ser dimensionado\n",
    "\n",
    "Dimensionamento de Fontes de Corrente (simples e cascode) com os seguintes parâmetros:\n",
    "\n",
    "| Parâmetro | Min | Typ  | Máx   | Unidade |\n",
    "|-----------|-----|------|-------|---------|\n",
    "| $I_{out}$ | --  | 20   | --    | $\\mu \\mathrm{A}$ |\n",
    "| $V_{out}$ | --  | --   | 0.3   | V       |\n",
    "| $V_{DD}$  | --  | 0.6  | --    | V       |\n",
    "| $V_{SS}$  | --  | -0.6 | --    | V       |\n",
    "| $W$       | 160 | --   | 32000 | nm      |\n",
    "| $L$       | 120 | --   | 24000 | nm      |\n",
    "\n",
    "### Parâmetros da tecnologia\n",
    "\n",
    "| Parâmetro  | Canal N | Canal P | Unidade |\n",
    "|------------|---------|---------|---------|\n",
    "| $I_{sq}$   | 353.38  | 49.514  | nA      |\n",
    "| $n$        | 1,3790  | 1,2952  | -       |\n",
    "| $\\phi_{t}$ | 26      | 26      | mV      |\n",
    "| $V_{T0}$   | 0,3618  | -0,3554 | V       |"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "QlKdsMka2nVa",
   "metadata": {
    "id": "QlKdsMka2nVa"
   },
   "outputs": [],
   "source": [
    "# Características da fonte de corrente\n",
    "I_out = 20e-6\n",
    "V_out_max = 0.3\n",
    "VDD = 0.6\n",
    "VSS = -0.6\n",
    "\n",
    "# Parâmetros da tecnologia\n",
    "Isq_p = 49.514e-9\n",
    "Isq_n = 353.38e-9\n",
    "N_p = 1.2952\n",
    "N_n = 1.3790\n",
    "VT0_p = -0.3554\n",
    "VT0_n = 0.3618\n",
    "Phi_t = 26e-3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "MvIqlJmy55vL",
   "metadata": {
    "id": "MvIqlJmy55vL"
   },
   "outputs": [],
   "source": [
    "# Importação de bibliotecas\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from matplotlib import pyplot as plt\n",
    "import seaborn as sns\n",
    "sns.set_style(\"darkgrid\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "hzDEmn7g3cuR",
   "metadata": {
    "id": "hzDEmn7g3cuR"
   },
   "source": [
    "## 2 - Dimensionamento de fonte de corrente simples"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "45OwoUxj3ilj",
   "metadata": {
    "id": "45OwoUxj3ilj"
   },
   "source": [
    "### 2.A - Dimensionamento de $M_{1S}$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "_1X0ptrO4Kg3",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "_1X0ptrO4Kg3",
    "outputId": "f5f6242b-597b-415c-8398-7be83bf289c2"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dimensionamento de M1s\n",
      "======================\n",
      "If < 71.905\n",
      "If = 35.000\n",
      "VGG = 0.0557\n",
      "W/L = 11.541\n",
      "W = 3.462e-06\n",
      "L = 3.000e-07\n"
     ]
    }
   ],
   "source": [
    "print(\"Dimensionamento de M1s\")\n",
    "print(\"======================\")\n",
    "\n",
    "# Cálculo de if_max\n",
    "if_max_M1s = (((VDD - V_out_max)/Phi_t) - 3)**2 - 1\n",
    "print(f'If < {if_max_M1s:.3f}')\n",
    "\n",
    "# Seleção de if < if_max\n",
    "if_M1s = 35\n",
    "print(f'If = {if_M1s:.3f}')\n",
    "\n",
    "# Função para determinar f(i_f)\n",
    "\n",
    "def f_if(i_f):\n",
    "    return np.sqrt(i_f + 1) - 2 + np.log(np.sqrt(i_f + 1) - 1)\n",
    "\n",
    "# Cálculo de VGG\n",
    "f_if_M1s =  f_if(if_M1s)\n",
    "vgg_M1s = -(N_p * Phi_t * f_if_M1s) + VT0_p + VDD\n",
    "print(f\"VGG = {vgg_M1s:.4f}\")\n",
    "\n",
    "# Determinar razão de aspecto\n",
    "WL_ratio_M1s = I_out/(Isq_p * if_M1s)\n",
    "print(f\"W/L = {WL_ratio_M1s:.3f}\")\n",
    "\n",
    "# Escolha de W e L\n",
    "L_M1s = 300e-9\n",
    "W_M1s = L_M1s * WL_ratio_M1s\n",
    "print(f\"W = {W_M1s:.3e}\")\n",
    "print(f\"L = {L_M1s:.3e}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "61f101ec",
   "metadata": {},
   "source": [
    "*    $V_{GG1S}$ antes do ajuste: 0,0557V\n",
    "*    $V_{GG1S}$ após o ajuste: 0,0849V"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "dda1c51a",
   "metadata": {},
   "outputs": [],
   "source": [
    "vgg_M1s_adj = 0.0849"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "87af12c0",
   "metadata": {},
   "source": [
    "**Circuito usado para dimensionamento da fonte de corrente simples**\n",
    "\n",
    "![Circuito Figura A Questão 2](jupyter_img/FiguraA_Questao2_Circuito.jpg)\n",
    "\n",
    "**Plot de $I_{out} \\times V_{out}$ antes (vermelho) e após (ciano) o ajuste empírico**\n",
    "\n",
    "![Plot Figura A Questão 2](jupyter_img/FiguraA_Questao2_Plot.jpg)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cf345a98",
   "metadata": {},
   "source": [
    "### 2.B - Dimensionamento de $M_{3S}$ e $M_{4S}$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "424051db",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dimensionamento de M3s e M4s\n",
      "============================\n",
      "If M3s = 79.006\n",
      "If M4s = 27.129\n",
      "W/L M3s = 0.072\n",
      "W/L M4s = 1.489\n",
      "W M3s = 6.000e-07\n",
      "L M3s = 8.376e-06\n",
      "W M4s = 6.000e-07\n",
      "L M4s = 4.030e-07\n"
     ]
    }
   ],
   "source": [
    "print(\"Dimensionamento de M3s e M4s\")\n",
    "print(\"============================\")\n",
    "\n",
    "# Função para inversa de f(if)\n",
    "def f_if_inv(f_if):\n",
    "    u = f_if + 2\n",
    "    k_u = 1 - ((84.4839)/(u**2 + 150.8640))\n",
    "    frac = np.exp(u-1)/(1 + (k_u * np.log(1 + np.exp(u-1))))\n",
    "    i_f = (1 + np.log(1+frac))**2 - 1\n",
    "    return i_f\n",
    "\n",
    "# Cálculo de funções dos níveis de inversão\n",
    "f_if_M3s = (vgg_M1s_adj - VSS - VT0_n)/(N_n * Phi_t)\n",
    "f_if_M4s = -(vgg_M1s_adj - VDD - VT0_p)/(N_p * Phi_t)\n",
    "\n",
    "# Definição de níveis de inversão de M3s e M4s\n",
    "if_M3s = f_if_inv(f_if_M3s)\n",
    "if_M4s = f_if_inv(f_if_M4s)\n",
    "print(f\"If M3s = {if_M3s:.3f}\")\n",
    "print(f\"If M4s = {if_M4s:.3f}\")\n",
    "\n",
    "# Escolha de I_d\n",
    "I_d_M34s = 2e-6\n",
    "\n",
    "# Escolha de W/L para M3s e M4s\n",
    "WL_ratio_M3s = I_d_M34s/(Isq_n*if_M3s)\n",
    "WL_ratio_M4s = I_d_M34s/(Isq_p*if_M4s)\n",
    "print(f\"W/L M3s = {WL_ratio_M3s:.3f}\")\n",
    "print(f\"W/L M4s = {WL_ratio_M4s:.3f}\")\n",
    "\n",
    "# Escolha de W e L\n",
    "W_M3s = 600e-9\n",
    "L_M3s = W_M3s/WL_ratio_M3s\n",
    "W_M4s = 600e-9\n",
    "L_M4s = W_M4s/WL_ratio_M4s\n",
    "print(f\"W M3s = {W_M3s:.3e}\")\n",
    "print(f\"L M3s = {L_M3s:.3e}\")\n",
    "print(f\"W M4s = {W_M4s:.3e}\")\n",
    "print(f\"L M4s = {L_M4s:.3e}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "beb9761b",
   "metadata": {},
   "source": [
    "*    $V_{GG1S}$ antes do ajuste: 0,0425V\n",
    "*    $V_{GG1S}$ após o ajuste: 0,0849V"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b4885779",
   "metadata": {},
   "source": [
    "Dimensões após o ajuste:\n",
    "\n",
    "*    $W_{3S}$ = 600 nm\n",
    "*    $L_{3S}$ = 8376 nm\n",
    "*    $W_{4S}$ = 945 nm\n",
    "*    $L_{4S}$ = 403 nm"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4f3b6b37",
   "metadata": {},
   "source": [
    "**Circuito usado para dimensionamento do divisor de tensão**\n",
    "\n",
    "![Circuito Figura A Questão 4](jupyter_img/FiguraA_Questao4_Circuito.jpg)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cd7c517f",
   "metadata": {},
   "source": [
    "### 2.C - Simulação completa de fonte de corrente simples"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f3c209ac",
   "metadata": {},
   "source": [
    "**Circuito final usado para simulação da fonte de corrente simples**\n",
    "\n",
    "![Circuito Figura A Questão 5](jupyter_img/FiguraA_Questao5_Circuito.jpg)\n",
    "\n",
    "**Plot de $I_{out} \\times V_{out}$ na simulação do circuito final**\n",
    "\n",
    "![Plot Figura A Questão 2](jupyter_img/FiguraA_Questao5_Plot.jpg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "672c7d47",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "g_out Fonte simples = 4.798e-06\n"
     ]
    }
   ],
   "source": [
    "#Transcondutância de saída para o meio da faixa de excursão (fonte simples)\n",
    "g_out_simples = (19.994148e-6 - 19.998946e-6)/(-150e-3 - (-149e-3))\n",
    "print(f\"g_out Fonte simples = {g_out_simples:.3e}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a29c8d82",
   "metadata": {},
   "source": [
    "## 3 - Dimensionamento de fonte de corrente cascode"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "418300ab",
   "metadata": {},
   "source": [
    "### 3.A - Dimensionamento de $M_{1C}$ e $M_{2}$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "128888cc",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dimensionamento de M1c e M2\n",
      "===========================\n",
      "If M2 = 12\n",
      "-0.008 < VGG M2 < 0.024\n",
      "VGG M2 = 0.000\n",
      "If M1c < 27.884\n",
      "If M1c = 25\n",
      "VGG M1c = 0.093\n",
      "W/L M1c = 16.157\n",
      "W/L M2  = 33.661\n",
      "W M1c = 6.463e-06\n",
      "L M1c = 4.000e-07\n",
      "W M2  = 1.346e-05\n",
      "L M2  = 4.000e-07\n"
     ]
    }
   ],
   "source": [
    "print(\"Dimensionamento de M1c e M2\")\n",
    "print(\"===========================\")\n",
    "\n",
    "# Escolha de If M2\n",
    "if_M2 = 12\n",
    "print(f\"If M2 = {if_M2}\")\n",
    "\n",
    "# Cálculo de limites para VGG M2\n",
    "vgg_M2_min = N_p*(V_out_max + 5*Phi_t - Phi_t*np.log(np.sqrt(if_M2 + 1) - 1)) - ((N_p - 1)*VDD) + VT0_p\n",
    "vgg_M2_max = VDD + VT0_p - N_p*Phi_t*(f_if(if_M2) + 4)\n",
    "print(f\"{vgg_M2_min:.3f} < VGG M2 < {vgg_M2_max:.3f}\")\n",
    "\n",
    "# Escolha de VGG M2\n",
    "vgg_M2 = 0.00\n",
    "print(f\"VGG M2 = {vgg_M2:.3f}\")\n",
    "\n",
    "# Cálculo de limite para If M1C\n",
    "if_M1c_max = (-f_if(if_M2) - ((vgg_M2 - VDD - VT0_p)/(N_p)) - 3)**2 - 1\n",
    "print(f\"If M1c < {if_M1c_max:.3f}\")\n",
    "\n",
    "if_M1c = 25\n",
    "print(f\"If M1c = {if_M1c}\")\n",
    "\n",
    "vgg_M1c = VDD + VT0_p - N_p*Phi_t*f_if(if_M1c)\n",
    "print(f\"VGG M1c = {vgg_M1c:.3f}\")\n",
    "\n",
    "WL_ratio_M1c = I_out/(Isq_p*if_M1c)\n",
    "WL_ratio_M2 = I_out/(Isq_p*if_M2)\n",
    "print(f\"W/L M1c = {WL_ratio_M1c:.3f}\")\n",
    "print(f\"W/L M2  = {WL_ratio_M2:.3f}\")\n",
    "\n",
    "L_M1c = 400e-9\n",
    "W_M1c = L_M1c * WL_ratio_M1c\n",
    "L_M2 = 400e-9\n",
    "W_M2 = L_M2 * WL_ratio_M2\n",
    "\n",
    "print(f\"W M1c = {W_M1c:.3e}\")\n",
    "print(f\"L M1c = {L_M1c:.3e}\")\n",
    "print(f\"W M2  = {W_M2:.3e}\")\n",
    "print(f\"L M2  = {L_M2:.3e}\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ecab24ac",
   "metadata": {},
   "source": [
    "*    $V_{GG(M1C)}$ antes do ajuste: 0,093V\n",
    "*    $V_{GG(M1C)}$ após o ajuste: 0,1273V\n",
    "*    $V_{GG(M2)}$ antes do ajuste: 0V\n",
    "*    $V_{GG(M2)}$ após o ajuste: 0V"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "0108a828",
   "metadata": {},
   "outputs": [],
   "source": [
    "vgg_M1c_adj = 0.1273\n",
    "vgg_M2_adj = 0"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7f2f2102",
   "metadata": {},
   "source": [
    "**Circuito usado para dimensionamento da fonte de corrente cascode**\n",
    "\n",
    "![Circuito Figura B Questão 2](jupyter_img/FiguraB_Questao2_Circuito.jpg)\n",
    "\n",
    "**Plot de $I_{out} \\times V_{out}$ antes (vermelho) e após (ciano) o ajuste empírico**\n",
    "\n",
    "![Plot Figura B Questão 2](jupyter_img/FiguraB_Questao2_Plot.jpg)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f691e832",
   "metadata": {},
   "source": [
    "### 3.B - Dimensionamento de $M_{3C}$, $M_{4C}$, $M_{5}$ e $M_{6}$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "6ceb91f0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dimensionamento de M3c e M4c\n",
      "============================\n",
      "If M3c = 98.858\n",
      "If M4c = 17.476\n",
      "W/L M3c = 0.057\n",
      "W/L M4c = 2.311\n",
      "W M3c = 6.000e-07\n",
      "L M3c = 1.048e-05\n",
      "W M4c = 6.000e-07\n",
      "L M4c = 2.596e-07\n"
     ]
    }
   ],
   "source": [
    "print(\"Dimensionamento de M3c e M4c\")\n",
    "print(\"============================\")\n",
    "\n",
    "# Cálculo de funções dos níveis de inversão\n",
    "f_if_M3c = (vgg_M1c_adj - VSS - VT0_n)/(N_n * Phi_t)\n",
    "f_if_M4c = -(vgg_M1c_adj - VDD - VT0_p)/(N_p * Phi_t)\n",
    "\n",
    "# Definição de níveis de inversão de M3c e M4c\n",
    "if_M3c = f_if_inv(f_if_M3c)\n",
    "if_M4c = f_if_inv(f_if_M4c)\n",
    "print(f\"If M3c = {if_M3c:.3f}\")\n",
    "print(f\"If M4c = {if_M4c:.3f}\")\n",
    "\n",
    "# Escolha de I_d\n",
    "I_d_M34c = 2e-6\n",
    "\n",
    "# Escolha de W/L para M3c e M4c\n",
    "WL_ratio_M3c = I_d_M34c/(Isq_n*if_M3c)\n",
    "WL_ratio_M4c = I_d_M34c/(Isq_p*if_M4c)\n",
    "print(f\"W/L M3c = {WL_ratio_M3c:.3f}\")\n",
    "print(f\"W/L M4c = {WL_ratio_M4c:.3f}\")\n",
    "\n",
    "# Escolha de W e L\n",
    "W_M3c = 600e-9\n",
    "L_M3c = W_M3c/WL_ratio_M3c\n",
    "W_M4c = 600e-9\n",
    "L_M4c = W_M4c/WL_ratio_M4c\n",
    "print(f\"W M3c = {W_M3c:.3e}\")\n",
    "print(f\"L M3c = {L_M3c:.3e}\")\n",
    "print(f\"W M4c = {W_M4c:.3e}\")\n",
    "print(f\"L M4c = {L_M4c:.3e}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "2575b7ed",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dimensionamento de M5 e M6\n",
      "============================\n",
      "If M5 = 46.496\n",
      "If M6 = 54.092\n",
      "W/L M5 = 0.122\n",
      "W/L M6 = 0.747\n",
      "W M5 = 6.000e-07\n",
      "L M5 = 4.929e-06\n",
      "W M6 = 6.000e-07\n",
      "L M6 = 8.035e-07\n"
     ]
    }
   ],
   "source": [
    "print(\"Dimensionamento de M5 e M6\")\n",
    "print(\"============================\")\n",
    "\n",
    "# Cálculo de funções dos níveis de inversão\n",
    "f_if_M5 = (vgg_M2_adj - VSS - VT0_n)/(N_n * Phi_t)\n",
    "f_if_M6 = -(vgg_M2_adj - VDD - VT0_p)/(N_p * Phi_t)\n",
    "\n",
    "# Definição de níveis de inversão de M5 e M6\n",
    "if_M5 = f_if_inv(f_if_M5)\n",
    "if_M6 = f_if_inv(f_if_M6)\n",
    "print(f\"If M5 = {if_M5:.3f}\")\n",
    "print(f\"If M6 = {if_M6:.3f}\")\n",
    "\n",
    "# Escolha de I_d\n",
    "I_d_M56 = 2e-6\n",
    "\n",
    "# Escolha de W/L para M5 e M6\n",
    "WL_ratio_M5 = I_d_M56/(Isq_n*if_M5)\n",
    "WL_ratio_M6 = I_d_M56/(Isq_p*if_M6)\n",
    "print(f\"W/L M5 = {WL_ratio_M5:.3f}\")\n",
    "print(f\"W/L M6 = {WL_ratio_M6:.3f}\")\n",
    "\n",
    "# Escolha de W e L\n",
    "W_M5 = 600e-9\n",
    "L_M5 = W_M5/WL_ratio_M5\n",
    "W_M6 = 600e-9\n",
    "L_M6 = W_M6/WL_ratio_M6\n",
    "print(f\"W M5 = {W_M5:.3e}\")\n",
    "print(f\"L M5 = {L_M5:.3e}\")\n",
    "print(f\"W M6 = {W_M6:.3e}\")\n",
    "print(f\"L M6 = {L_M6:.3e}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f337f6c6",
   "metadata": {},
   "source": [
    "*    $V_{GG(M1C)}$ antes do ajuste: 0,0664V\n",
    "*    $V_{GG(M1C)}$ após o ajuste: 0,1273V\n",
    "*    $V_{GG(M2)}$ antes do ajuste: -0,0522V\n",
    "*    $V_{GG(M2)}$ após o ajuste: 0,0000V"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "54cd93e1",
   "metadata": {},
   "source": [
    "Dimensões após o ajuste:\n",
    "\n",
    "*    $W_{3C}$ = 600 nm\n",
    "*    $L_{3C}$ = 10480 nm\n",
    "*    $W_{4C}$ = 1326 nm\n",
    "*    $L_{4C}$ = 300 nm\n",
    "*    $W_{5}$ = 600 nm\n",
    "*    $L_{5}$ = 4929 nm\n",
    "*    $W_{6}$ = 600 nm\n",
    "*    $L_{6}$ = 368 nm"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8bb276cd",
   "metadata": {},
   "source": [
    "**Circuito usado para dimensionamento dos divisores de tensão**\n",
    "\n",
    "![Circuito Figura B Questão 4](jupyter_img/FiguraB_Questao4_Circuito.jpg)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e1d06df0",
   "metadata": {},
   "source": [
    "### 3.C - Simulação completa de fonte de corrente cascode"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f47d3adf",
   "metadata": {},
   "source": [
    "**Circuito final usado para simulação da fonte de corrente cascode**\n",
    "\n",
    "![Circuito Figura B Questão 5](jupyter_img/FiguraB_Questao5_Circuito.jpg)\n",
    "\n",
    "**Plot de $I_{out} \\times V_{out}$ na simulação do circuito final**\n",
    "\n",
    "![Plot Figura B Questão 2](jupyter_img/FiguraB_Questao5_Plot.jpg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "6fcc0997",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "g_out Fonte cascode = 3.510e-07\n"
     ]
    }
   ],
   "source": [
    "#Transcondutância de saída para o meio da faixa de excursão (fonte cascode)\n",
    "g_out_cascode = (20.001542e-6 - 20.001893e-6)/(-150e-3 - (-149e-3))\n",
    "print(f\"g_out Fonte cascode = {g_out_cascode:.3e}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "51eb12d0",
   "metadata": {},
   "source": [
    "## 4 - Comparação entre as topologias"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "20e45736",
   "metadata": {},
   "source": [
    "**Diagrama usado para comparação**\n",
    "\n",
    "![Circuito Comparacao](jupyter_img/FiguraAB_Comparacao_Circuito.jpg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "d328c1b1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAHBCAYAAABg9RGHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACprklEQVR4nOzdd3gU1f7H8ffW9J7Qe0kgBRJ6V0DEAoiAYgdRbKio2PBevdar/rzXylVRsKNSBAFFwQIqqDQB6T2EEALpPVvP749NlixJICEJO8D39Tx5yM7OnPns7Cb5MnPOHJ1SSiGEEEIIcR7SezuAEEIIIURDkUJHCCGEEOctKXSEEEIIcd6SQkcIIYQQ5y0pdIQQQghx3pJCRwghhBDnLSl0hBBCCHHekkJHCCGEEOctKXSEEMh9Q0VF8nk4++SYNxwpdES1tm7dyiOPPMLFF19Mly5dGDp0KP/85z85fPiwt6NpjtVqZeLEicTFxdG5c2diY2NJSkriwIEDDbK/tWvXEhMTw9q1a+vUTnp6OnfeeSdHjhypp2S1k5qaSkxMDAsXLqz3tocMGcLjjz9e7+3WxFtvvUVMTEy9tVPd19tvv10PaT298847zJ49u97bhfp/vy0WCx999BFjx46lR48e9OzZk/Hjx7No0SKcTme97KOhWa1WXnzxRZYuXertKOcto7cDCG2aM2cO//73v+nduzfTpk2jUaNGpKSkMGvWLFasWMGHH35IXFyct2NqyhNPPEFpaSkGgwGz2UzTpk0JDAz0dqxT+v3331m1ahVPPvmkt6PUuxkzZmj++NfU3Llzq1zetGnTet/X66+/zr333lvv7da3zMxMbr/9do4ePcrNN99Mly5dcDqdrFq1iieeeIJ169bx73//G51O5+2op3T8+HE++ugjXnzxRW9HOW9JoSMq2bhxIy+88AI33ngj//jHP9zLe/fuzdChQxkzZgzTp09nyZIlXkypLWazmejoaG/HEBXExsZ6O0K9SUxM9HYEzXnsscdIT09n7ty5tGnTxr384osvpkWLFrzyyisMHjyYSy+91HshhSbIpStRyezZswkKCuKhhx6q9Fx4eDiPP/44l156KYWFhe7ly5YtY8yYMSQlJdG/f3+eeuop8vLy3M+/9dZbXHbZZfz444+MGDGChIQErrrqKjZt2sTmzZu55ppr6NKlCyNGjOCPP/7w2G7IkCGsXLmSyy67jK5du3LNNdd4rAOwa9cu7r33Xvr06UNcXBwDBw7k+eefp7S01L1OTEwMM2bMYOzYsXTv3t192n/9+vXcdttt9OzZk/j4eIYMGcJbb73lceq7qKiIF154gUGDBpGYmMjYsWNZtWqV+/nS0lL++9//cumllxIfH0+3bt249dZb2blzp0fONWvWcMMNN9C9e3f32bKjR4+e9j358ssvGT58OF26dOGmm24iLS2t0jppaWk89NBD9OrVi65duzJhwgR27NhRbZsLFy5k+vTpAAwdOtR9mcfhcDBnzhxGjhxJly5duPjii/nPf/6DxWJxb/v4449z8803s2DBAgYPHkxSUhK33HJLpf0lJydz//33079/fxITE7n55pvZuHHjKV9rTbY5fvw4Dz74IL169aJnz5489dRTvPbaawwZMsS9zsmXrlJTU3n00UcZMGAAcXFx9O3bl0cffZScnBz3Otu3b2fChAl0796dpKQkJk6cyJYtW06Z12Kx8OKLL9K/f3+SkpKYPn26x7Eqt2HDBm666Sa6du1Kr169eOyxx8jOzj5l27Vxus/WwoULiY2NZcuWLYwfP56EhAQuvvhi3n//ffc65ZfbZsyY4XHpbc+ePdx5551069aNbt26MWXKlBpdwl6xYgWjRo2iS5cuXH311ezatavSOrm5uTz11FP069ePhIQErr322ko/3yfbuXMnq1ev5rbbbvMocsrdcsst3HjjjQQEBLiXHT9+nOnTp3PRRRfRpUsXxo0bx08//eSxXVW/I8qP2/z58xkwYACDBg1i7969APz444+MGTOGhIQE+vfvz/PPP09xcbG7vbfeeothw4axatUqRo4cSXx8PMOHD2fRokWA6zM5dOhQAKZPn+7x+W3oz8sFRQlRgdPpVAkJCWrq1Kk13uZ///ufio6OVk8//bT69ddf1Zw5c1SvXr3UyJEjVUlJiVJKqTfffFN17dpVDRkyRC1dulT9+OOP6qKLLlIDBgxQgwcPVvPmzVM//PCDuvzyy1Xv3r0rbdezZ0/18ccfq5UrV6qbb75ZxcXFqa1btyqllDp27Jjq1q2bmjRpklq5cqVas2aNeuGFF1R0dLR655133Dmjo6NVbGysmjlzplq1apXatWuX2rlzp4qNjVUPPfSQ+u2339Svv/6qpk2bpqKjo9WSJUuUUko5HA41fvx41bNnT/Xpp5+qNWvWqIcfflh17txZrV+/Ximl1H333af69Omj5s+fr9auXavmzp2r+vXrp4YPH66cTqdSSqmvv/5aRUdHqwceeECtWrVKLVq0SA0ePFgNHDhQZWZmVnt8P/30UxUdHa2ee+459dtvv6n/+7//U3FxcSo6Olr9+eefSimlsrKy1MCBA9Wll16qlixZon744Qd10003qcTERLVv374q283KylKvvfaaio6OVitWrFCHDh1SSin1xBNPqNjYWPXqq6+q1atXq/fee0917dpVTZo0yf1aHnvsMdW9e3fVr18/tWDBAvXDDz+okSNHqm7duqn09HSllFJ79+5VSUlJavTo0WrZsmXqhx9+cL93a9euVUopdfjwYRUdHa2++uqrGm9jsVjUZZddpgYNGqQWLVqkfvjhB3XNNdeo+Ph4NXjwYPfrGzx4sHrssceUUkoVFxerwYMHqzFjxqgVK1aoP/74Q82YMUN17txZ/fOf/1RKKVVQUKD69Omjpk6dqlavXq1Wrlyprr32WtW9e3eVn59f7ftz3333qa5du6oPP/xQrVq1St19993u96fcunXrVFxcnLrtttvUzz//rBYtWqQuvvhideWVV7o/61V58803VXR0tLLZbJW+HA6He72afLa++uorFRMToy6++GL10Ucfqd9//1099NBDKjo6Wv36669KKaU2bdqkoqOj1RNPPKE2bdqklFLqwIEDKikpSY0dO1YtX75cLVu2TI0cOVL179//lJ/bn376ScXExKiHHnpI/fLLL2rmzJkqMTHR4/0uLS1Vo0aNUv369VPz5s1Tq1atUvfdd5+KjY1Vv//+e7Vtz5w5U0VHR1f72T5ZRkaGGjhwoBoyZIhatGiRWrVqlbr//vtVTEyMWrx4sXu9qn5HfPXVVyo6OloNGTJErVy5Un311VfK6XSqJUuWqOjoaDVt2jT1yy+/qM8//1z17NlTTZgwwf1zUv77q/x33Jo1a9SkSZPc2S0Wi1qxYoWKjo5Wr732mtq+fbtS6sw/L6JqUugID1lZWSo6Olq98sorNVo/NzdXxcfHq3/84x8ey9evX6+io6PVnDlzlFInfmH/8ssv7nXKf1nNnz/fvez7779X0dHRaseOHR7bLVq0yL1OSUmJ6t+/v7rvvvuUUkr99ttv6sYbb1QFBQUeGUaMGKEmTZrk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JCYmcujQIWbOnInVaqWkpOSU7Xbp0oXvvvuOL774gvbt27Nr1y7eeecddDqde9uLL77YPWz4gQceoFWrVixevJj9+/fz7LPPEhoaitFo5JVXXmHSpElYrVYWLlzoHn5eXFyMXq/noYceYvr06Tz44IOMHj2anJwcZsyYQUhISJX/WwbQ6XQ8/PDDTJs2jX/+859cdtllbN68mS+++MJjvYkTJ7J48WImTpzIpEmTCAsLY9myZcybN889hLwq5f8z/eGHHxg0aBAdOnTg6quvZsaMGZSWltK7d2927tzJjBkz6N27NwMHDnRvq5Tinnvu4YEHHsBgMDBjxgyCg4O5+eabAbj33nv59ddfueWWW7jjjjswm8189tlnHD58mFmzZlWZpybbjBgxgvfee48pU6YwdepUgoOD+eCDD8jKyvI4q3Ly+/zFF1/w0ksvMXjwYI4fP87s2bPJzMx0/++7W7duOJ1OpkyZwh133EFAQADfffcdBQUF1d6LpXXr1owfP57XXnsNu91O586dWbx4Mbt37/ZY76GHHuKOO+5g2rRpjBo1CofDwQcffMCWLVvcn+MzdaafreoEBwezadMm1q9fT48ePbjnnnu47rrruPPOO7n++uvx8fFh7ty5/Pjjj7z55pvVtvPQQw8xYcIE7r33XsaPH09ycjLvvPOOxzpjxozhs88+49Zbb+Wuu+6iadOm/P7777z//vvcdNNNlS5ZV/TMM88wYcIErrnmGm655RYSExMpKipi+fLlfPPNN1xzzTXufku33norS5Ys4dZbb+Xee+8lLCyMr7/+mj///JN///vfp7wsXRWDwcCDDz7IU089hcFgYPDgweTn5/P2229z7NixWt1Mtfw/Z3/88Qft27ena9euDfp5uSB5oQO0OEesWrVKTZ48WQ0YMEDFx8erSy65RD355JPqyJEjldb9/PPP1RVXXKHi4uJU//791dNPP61yc3Pdz5ePPqjo5BE/Sin1559/eowmKt/uhx9+UIMHD1Zdu3ZVt956q9q5c6d7G4vFop555hnVv39/1aVLFzV8+HD15ptvqrfeekvFx8e7c5w8mkQp1+iRhx56SPXq1UslJiaqESNGqI8//lg9+eSTqn///u5RD/n5+e6RTtHR0Wr8+PHqjz/+cLfz3XffqSuvvFIlJCSoAQMGqHvvvVetW7dOxcTEeIyS+P77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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_circ = pd.read_csv(\"LTSpice/ComparacaoFonte_Simples_Cascode.csv\")\n",
    "df_circ = df_circ.melt((\"Vout\"), var_name=\"Topologia\", value_name=\"Iout\")\n",
    "df_circ[\"Iout\"] *= 1e6\n",
    "i_voutmin_simples = df_circ.loc[(df_circ[\"Vout\"] == 0.3) & (df_circ[\"Topologia\"] == \"Simples\")].reset_index()[\"Iout\"][0]\n",
    "i_voutmin_cascode = df_circ.loc[(df_circ[\"Vout\"] == 0.3) & (df_circ[\"Topologia\"] == \"Cascode\")].reset_index()[\"Iout\"][0]\n",
    "\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "sns.lineplot(df_circ, x=\"Vout\", y=\"Iout\", hue=\"Topologia\", ax=ax)\n",
    "ax.set_xlabel(\"V out (V)\")\n",
    "ax.set_ylabel(\"I out (uA)\")\n",
    "ax.set_xticks(np.arange(-0.6, 0.7, 0.1))\n",
    "ax.set_yticks(np.arange(0, 25, 2.5))\n",
    "ax.axvline(x=0.3, color='red', linestyle='--', zorder=1)\n",
    "ax.text(-0.14, 20.5, f\"I(Voutmin_C) = {i_voutmin_cascode:.3f} uA\", color=\"tab:blue\")\n",
    "ax.text(-0.14, 16, f\"I(Voutmin_S) = {i_voutmin_simples:.3f} uA\", color=\"tab:orange\")\n",
    "ax.set_title(\"Comparação de topologias de Fonte de Corrente\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3abd71a9",
   "metadata": {},
   "source": [
    "Para ambas as topologias, o meio da faixa de excursão reside em $V_{out}$ = -0,15V.\n",
    "\n",
    "A corrente de saída observada no meio da faixa de excursão para as topologias foi:\n",
    "\n",
    "| Topologia | $I_{out} (\\mu A)$ |\n",
    "|-----------|-------------------|\n",
    "|  Cascode  |     20,001893     |\n",
    "|  Simples  |     19,998946     |  \n",
    "\n",
    "Percebe-se que a topologia Cascode se mostra bem mais robusta à variações de tensão dentro da faixa de excursão (o que é justificado pela baixa condutância de saída resultante do acoplamento dos dois transistores na topologia)."
   ]
  }
 ],
 "metadata": {
  "colab": {
   "provenance": []
  },
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
